Skip to content

运算符

算术运算符

运算符含义举例结果
+加法运算符a+ba 和 b 的和
-减法运算符a-ba 和 b 的差
*乘法运算符a*ba 和 b 的乘
/除法运算符a/ba 除以 b 的商
%求余运算符a%ba 除以 b 的余数
cpp
#include<iostream>
using namespace std;
int main()
{
	int a = 7;
	int b = 2;
	cout << a + b << endl;
	cout << a - b << endl;
	cout << a * b << endl;
	cout << a / b << endl;
	cout << a % b << endl;
	return 0;
}

拓展内容

后续为拓展内容

关系运算符

假设 a 是 6,b 是 5。

运算符含义举例结果
>大于a>btrue
>=小于a>=btrue
<大于等于a<bfalse
<=小于等于a<=bfalse
==等于a==bfalse
!=不等于a!=btrue

提示

注:关于运算符的结果是布尔值,值只有两种:true 或 false。输出时会以 1 和 0 的方式输出。

cpp
#include<iostream>
using namespace std;
int main()
{
	int a = 6;
	int b = 5;
    bool c;
    c = a > b;
	cout << c << endl;
    c = a >= b;
	cout << c << endl;
    c = a < b;
    cout << c << endl;
    c = a <= b;
	cout << c << endl;
    c = a == b;
	cout << c << endl;
    c = a != b;
	cout << c << endl;
	return 0;
}

逻辑运算符

逻辑运算符就是对表达式或者变量做出逻辑判断的运算符,包括与(&&)、或(||)、非(!)三种。

假设 a 是 6,b 是 5,c 是 4。

运算符说明举例结果
&&运算符两边都是真,结果才为真a > b && b > ctrue
||运算符两边有一边为真,结果为真a > b or c > btrue
反转运算符右边的值!(a>b)false

单目运算符

假设 a 是 1。

运算符说明举例结果
++将变量自身加 1a++2
--将变量自身减 1a--0

赋值运算符

注意

赋值运算符是为了精简程序,例如,score在原有的基础上加1,可以写成score = score + 1,右边的 score 是原来的值,左边的 score 是新的值。也可以写成score += 1

运算符描述示例
=赋值运算符c = a + b 将 a + b 的运算结果赋值为 c
+=加法赋值运算符c += a 等效于 c = c + a
-=减法赋值运算符c -= a 等效于 c = c - a
*=乘法赋值运算符c _= a 等效于 c = c _ a
/=除法赋值运算符c /= a 等效于 c = c / a
%=取模赋值运算符c %= a 等效于 c = c % a

位运算符

运算符描述实例
&按位与运算符:参与运算的两个值,如果两个相应位都为 1,则该位的结果为 1,否则为 0(5 & 3) 输出结果 1 ,二进制解释:5 的二进制0101,3 的二进制0011,按位进行与运算,结果是:0001,对应十进制是数字 1
|按位或运算符:只要对应的二个二进位有一个为 1 时,结果位就为 1。(5 | 3) 输出结果 7 ,二进制解释: 5 的二进制0101,3 的二进制0011,按位进行或运算,结果是:0111,对应十进制是数字 7
^按位异或运算符:当两对应的二进位相异时,结果为 1(5 ^ 3) 输出结果 6 ,二进制解释: 5 的二进制0101,3 的二进制0011,按位进行异或运算,结果是:0110,对应十进制是数字 6
~按位取反运算符:对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1。~x 类似于 -x-1(~5 ) 输出结果 -6 ,二进制解释: 5 的二进制0101,按位取反,得到1010, 以一个有符号二进制数的补码形式存在,对应的十进制是-6。原码反码补码知识点
<<左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补 0。5 << 1 输出结果 10 ,二进制解释:5 的二进制00101,<<1 之后变成 01010,对应十进制是数字 10,相当于乘 2
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数,低位丢弃,高位补符号位。5 >> 1 输出结果 2 ,二进制解释: 5 的二进制00101,>>1 之后变成 00010,对应十进制是数字 2,相当于整除 2

运算符的优先级

不同的运算符优先级不同,优先级决定了表达式运算的顺序。下表列出来大部分运算符的优先级;

运算符描述优先级
. [] ()最高级优先级1
~ !++ --单目运算符2
* / %算术乘除模运算符3
+ -算术加减运算符4
>> <<移位运算符5
< <= > >=关系运算6
== !=关系运算7
&按位与8
^按位异或9
|按位或10
&&逻辑与11
||逻辑或12
=赋值运算符13